home *** CD-ROM | disk | FTP | other *** search
/ Practical Internet 2002 February / Practical Internet February 2002.iso / pc / Software / SiteBuilding / HomeSite_Installer.exe / data1.cab / Extensions / Includes / tdIndentContent.wizml < prev    next >
Encoding:
Text File  |  2001-10-11  |  3.6 KB  |  86 lines

  1. <WIZIF 0><!-- Copyright  (c) 1997-2001 Macromedia, Inc. All Rights Reserved. Consult Software License Agreement for more details.  Version 1.0 - 2001-07-16 --></WIZIF>
  2. <WIZIF 0><!--
  3.     Indentation of tag content: 'mini' CodeSweeper implemented in WIZML
  4.     Requires tdIndentContentInit.wizml
  5. --></WIZIF>
  6. <WIZIF 0><!-- first get rid of all collapsible whitespace --></WIZIF>
  7. <WIZSET varString = Trim(txtTagBody)>
  8. <WIZSET varReplace = TagStart>
  9. <WIZSET varFind = ' ' & TagStart>
  10. <WIZINCLUDE TEMPLATE="wmReplaceAll.wizml">
  11. <WIZSET varFind = Tab & TagStart>
  12. <WIZINCLUDE TEMPLATE="wmReplaceAll.wizml">
  13. <WIZSET varFind = CRLF & TagStart>
  14. <WIZINCLUDE TEMPLATE="wmReplaceAll.wizml">
  15. <WIZIF 0><!-- now indent the content, replacing angle brackets by square brackets as we proceed --></WIZIF>
  16. <WIZSET level = 0>
  17. <WIZSET OpenTagName = ''>
  18. <WIZSET CloseTagName = ''>
  19. <WIZSET ShortcutTag = 'false'>
  20.  
  21. <WIZLOOP CONDITION = 'Find(varString, TagStart)'>
  22.     <WIZSET OpenPos = Find(varString, TagStart)><WIZIF 0><!-- Find start of next tag --></WIZIF>
  23.     <WIZSET ClosePos = Find(varString, TagEnd)><WIZIF 0><!-- Find end of this tag --></WIZIF>
  24.  
  25.     <WIZIF 0><!-- determine whether it's a start, shortcut or end tag --></WIZIF>
  26.     <WIZIF Mid( varString, OpenPos + 1, 1 ) EQ '/'><WIZIF 0><!-- end tag --></WIZIF>
  27.         <WIZSET TagType = 'end'>
  28.     <WIZELSEIF Mid( varString, ClosePos - 1, 1 ) EQ '/'><WIZIF 0><!-- shortcut (empty) tag --></WIZIF>
  29.         <WIZSET TagType = 'shortcut'>
  30.     <WIZELSE><WIZIF 0><!-- end tag --></WIZIF>
  31.         <WIZSET TagType = 'start'>
  32.     </WIZIF>
  33.  
  34.     <WIZIF 0><!-- determine current tag name --></WIZIF>
  35.     <WIZIF TagType EQ 'end'>
  36.         <WIZIF 0><!-- get tag name tag --></WIZIF>
  37.         <WIZSET CloseTagName = Mid(varString, OpenPos + 2, ClosePos - OpenPos - 2)>
  38.     <WIZELSE>
  39.         <WIZIF 0><!-- prepare to get tag name: determine where name ends --></WIZIF>
  40.         <WIZSET WholeTag = Mid( varString, OpenPos, ClosePos - OpenPos + 1)>
  41.         <WIZSET SpacePos = Find(WholeTag, ' ')>
  42.         <WIZSET TabPos = Find(WholeTag, Tab)>
  43.         <WIZSET CRLFPos = Find(WholeTag, CRLF)>
  44.         <WIZSET NameEnd = Len(WholeTag)>
  45.         <WIZIF SpacePos GT '0'><WIZSET NameEnd = SpacePos></WIZIF>
  46.         <WIZIF TabPos GT '0'><WIZSET NameEnd = TabPos></WIZIF>
  47.         <WIZIF CRLFPos GT '0'><WIZSET NameEnd = CRLFPos></WIZIF>
  48.         <WIZIF 0><!-- get tag name tag --></WIZIF>
  49.         <WIZSET OpenTagName = Mid(WholeTag, 2, NameEnd - 2)>
  50.         <WIZIF TagType EQ 'shortcut'>
  51.             <WIZSET CloseTagName = OpenTagName>
  52.         </WIZIF>
  53.     </WIZIF>
  54.  
  55.     <WIZIF 0><!-- replace tag end --></WIZIF>
  56.     <WIZSET TagClose = ']'>
  57.     <WIZSET varString = Left(varString, ClosePos - 1) & TagClose & Right(varString, Len(varString) - ClosePos - 1 + 1)>
  58.     <WIZIF 0><!-- replace tag start --></WIZIF>
  59.     <WIZIF TagType EQ 'shortcut'>
  60.         <WIZSET Level = Level + 1>
  61.         <WIZSET TagOpen = Newline & RepeatString(Tab, Level) & '['>
  62.         <WIZSET Level = Level - 1>
  63.     <WIZELSEIF TagType EQ 'end'>
  64.         <WIZIF CloseTagName EQ OpenTagName>
  65.             <WIZSET TagOpen = '['><WIZIF 0><!-- keep tag without embedded tags on same line --></WIZIF>
  66.         <WIZELSE>
  67.             <WIZSET TagOpen = Newline & RepeatString(Tab, Level) & '['>
  68.         </WIZIF>
  69.         <WIZSET Level = Level - 1>
  70.     <WIZELSE>
  71.         <WIZSET Level = Level + 1>
  72.         <WIZSET TagOpen = Newline & RepeatString(Tab, Level) & '['>
  73.     </WIZIF>
  74.     <WIZSET varString = Left(varString, OpenPos - 1) & TagOpen & Right(varString, Len(varString) - OpenPos - 1 + 1)>
  75. </WIZLOOP>
  76.  
  77. <WIZIF 0><!-- restore angle brackets --></WIZIF>
  78. <WIZSET varFind = '['>
  79. <WIZSET varReplace = TagStart>
  80. <WIZINCLUDE TEMPLATE="wmReplaceAll.wizml">
  81. <WIZSET varFind = ']'>
  82. <WIZSET varReplace = TagEnd>
  83. <WIZINCLUDE TEMPLATE="wmReplaceAll.wizml">
  84. <WIZIF 0><!-- write indented content --></WIZIF>
  85. <WIZSET txtTagBody = varString>
  86.